
/**
 * 发送POST请求
 * 技术栈：function + ajax + callback
 * @param {String} url 请求地址 
 * @param {String} params 请求参数   格式：参数名=值&....&参数名=值
 * @param {Function} callback  回调函数
 * @param {Function} headersFn 自定义请求头
 * @return undefined
 */

 function post(url, params, callback, headersFn = null)
 {
     // 一、 创建xhr对象
     const xhr = new XMLHttpRequest
     // 二、 监听请求状态
     xhr.onreadystatechange = function() 
     {
         // 判断后端返回数据后再处理
         if (xhr.readyState === 4)
         {
             // 判断返回的状态200成功在处理
             if (xhr.status === 200)
             {
                 // 获取数据
                 let res = JSON.parse(xhr.responseText)
                 // 不同逻辑处理
                 callback(res)
             } else {
                 console.log('请求失败：', xhr.status);
             }
         }
     }
     // 三、 设置请求方式，请求地址
     // xhr.open('post', `请求地址`)
     xhr.open('post', url)
 
    //  xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
     if (headersFn) headersFn(xhr)
     
     // 四、 发送
     xhr.send(params)
 }

 function baiDu(res){
    if(res && res.g){
        document.querySelector('ul').innerText=''
    res.g.forEach(item=>{
        let liObj=document.createElement('li')
        liObj.innerText=item.q
        document.querySelector('ul').appendChild(liObj)
        })
    } else {
        document.querySelector('ul').innerHTML=`<li>未搜索到相关数据</li>`
    }
}

 function newFilms(res){
     let olObj=document.querySelector('ol')
     olObj.innerHTML=''
     if(!Array.isArray(res.data.films)) return    //多家一步过滤，防止后端数据出现误差
     res.data.films.forEach(item=>{
         let liObj=document.createElement('dl')
         liObj.innerHTML=`<dt><img src='${item.poster}' width='200' height='300'/></dt>
         <dt>${item.name}</dt> `
         olObj.appendChild(liObj)
     })
 }
 function headerFn(xhr){
     xhr.setRequestHeader('X-Client-Info','{"a":"3000","ch":"1002","v":"5.2.0","e":"1651754242929143160045569","bc":"320100"}')
     xhr.setRequestHeader('X-Host','mall.film-ticket.film.list')
     xhr.setRequestHeader('X-Requested-With','XMLHttpRequest')
     xhr.setRequestHeader('X-Token','undefined')
 }
 